# 使用 Python 3.11 作为基础镜像
FROM python:3.11-bookworm

# 设置工作目录
WORKDIR /app

# 使用阿里云镜像源
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
    sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources

# 安装系统依赖
RUN apt-get update && apt-get install -y \
    g++ \
    cmake \
    git \
    curl \
    wget \
    vim \
    build-essential \
    pkg-config \
    libssl-dev \
    zlib1g-dev \
    && rm -rf /var/lib/apt/lists/*

# 配置 pip 使用阿里云镜像源
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && \
    pip config set global.trusted-host mirrors.aliyun.com

# 升级 pip 和 setuptools
RUN pip install --upgrade pip setuptools wheel

# 复制 requirements.txt 并安装 Python 依赖
COPY requirements.txt .

# 尝试安装 rocketmq-client-python
RUN pip install --no-cache-dir rocketmq-client-python || \
    (echo "预编译包安装失败，尝试从源码安装..." && \
     pip install --no-cache-dir --no-binary=rocketmq-client-python rocketmq-client-python)

# 验证安装
RUN python -c "import rocketmq; print('RocketMQ 客户端安装成功:', rocketmq.__version__)" || \
    echo "RocketMQ 客户端安装失败，请检查错误信息"

# 复制项目文件
COPY . .

# 创建日志目录
RUN mkdir -p /app/logs

# 设置环境变量
ENV PYTHONPATH=/app
ENV PYTHONUNBUFFERED=1

# 暴露端口（如果需要）
EXPOSE 9876

# 默认命令
CMD ["python", "test_installation.py"] 